iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 21
0
自我挑戰組

自我挑戰日記系列 第 21

CSS:shape-outside 文繞圖 circle和ellipse

  • 分享至 

  • xImage
  •  

大家好 /images/emoticon/emoticon37.gif

把圖片和文字放一起時
在沒定義任何屬性時
會是像下圖
https://ithelp.ithome.com.tw/upload/images/20171226/20107496m8zMn4TxD3.jpg
一張圖、一篇內文 的排法

而要作出文字繞著圖
只要使用定義成浮動元素

float: left;

就可以作出下圖
https://ithelp.ithome.com.tw/upload/images/20171226/20107496vSIoOHp5KO.jpg
但這只會把文字很整齊的排列
不會作出不規則的排列或是並排在圖像上
要作出文字繞著圖或是押在外框上
就要用到

/* Keyword values */
shape-outside: none;
shape-outside: margin-box;
shape-outside: content-box;
shape-outside: border-box;
shape-outside: padding-box;

/* Function values */
shape-outside: circle();
shape-outside: ellipse();

circle() 的值 預設是取元素 長+寬/2 為圓的半徑 50%
也等於Keyword的值 none
https://ithelp.ithome.com.tw/upload/images/20171226/20107496heTzI5oMLv.jpg
ellipse() 因為是橢圓的 所以值會有2個半徑可設定
再加上 at 和 x、y 值就可以任意移動位置

.circle{
  shape-outside: circle(50%); 
  shape-outside: circle(50% at 60% 30%); 
}
.ellipse{
  shape-outside: circle(30% 70%); 
  shape-outside: circle(30% 70% at 60% 30%); 
}

使用 Keyword 值
這會依據 margin、border、padding 的邊作排列
使用 margin-box 時 沿著 margin 邊繞
https://ithelp.ithome.com.tw/upload/images/20171226/20107496J5xtyaA8MR.jpg

使用 border-box 時 沿著 border 邊繞
https://ithelp.ithome.com.tw/upload/images/20171226/20107496gxwonFsW01.jpg
使用 content-box 時 沿著 內文邊框 繞
https://ithelp.ithome.com.tw/upload/images/20171226/20107496qYEHX5YDre.jpg

Keyword 又可和circle()、ellipse()同時用

shape-outside: circle(50%) content-box; 
shape-outside: ellipse(30% 50% at 70% 50%) margin-box; 

https://ithelp.ithome.com.tw/upload/images/20171226/20107496988GQpXxcF.jpg
--- 明日待續。


上一篇
CSS:column 多欄文字
下一篇
CSS:shape-outside 文繞圖 polygon
系列文
自我挑戰日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言